package com.mutual.reins.interf.entity;

import java.math.BigDecimal;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author CodeGenerate
 * @since 2021-04-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("FEOREINSRECEIVE")
public class FeoReinsReceive implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 询价单号 PK
     */
    @TableField("ENQUIRYNO")
    private String enquiryNo;

    /**
     * 投保单号
     */
    @TableField("PROPOSALNO")
    private String proposalNo;

    /**
     * 保单号
     */
    @TableField("POLICYNO")
    private String policyNo;

    /**
     * 批单号码
     */
    @TableField("ENDORSENO")
    private String endorseNo;

    /**
     * 危险单位序号
     */
    @TableField("DANGERNO")
    private Integer dangerNo = 0;

    /**
     * 险种代码
     */
    @TableField("RISKCODE")
    private String riskCode;

    /**
     * 序号 PK
     */
    @TableField("SERIALNO")
    private BigDecimal serialNo =  BigDecimal.ZERO;

    /**
     * 接受人代码
     */
    @TableField("REINSCODE")
    private String reinsCode;

    /**
     * 接受人类型：--** 1: 再保人，--** 0: 经纪人
     */
    @TableField("REINSTYPE")
    private String reinsType;

    /**
     * -接受人名称
     */
    @TableField("REINSNAME")
    private String reinsName;

    /**
     * 最终接受人代码
     */
    @TableField("FINALREINSCODE")
    private String finalReinsCode;

    /**
     * 最终接受人名称
     */
    @TableField("FINALREINSNAME")
    private String finalReinsName;

    /**
     * 结付人代码
     */
    @TableField("PAYCODE")
    private String payCode;

    /**
     * 结付人名称
     */
    @TableField("PAYNAME")
    private String payName;

    /**
     * 接受份额Signed
     */
    @TableField("SIGNEDLINE")
    private BigDecimal signedLine = new BigDecimal("0.000000");

    /**
     * 手续费比例Signed
     */
    @TableField("SIGNEDCOMM")
    private BigDecimal signedComm = new BigDecimal("0.000000");

    /**
     * 税比例
     */
    @TableField("TAXRATE")
    private BigDecimal taxRate = new BigDecimal("0.000000");

    /**
     * 其它费用比例
     */
    @TableField("OTHRATE")
    private BigDecimal othRate = new BigDecimal("0.000000");

    /**
     * 计算标志：--** 0-按折币计算（默认）；--** 1-按原币计算
     */
    @TableField("CURRENCYFLAG")
    private String currencyFlag;

    /**
     * 特约接受人标志：--** 0-普通接受人（默认）；--** 1-特约接受人
     */
    @TableField("FACFLAG")
    private String facFlag;

    /**
     * 差异类型标志位：--** [1]：1 有差异、0无差异
     */
    @TableField("FLAG")
    private String flag;

    /**
     * 接受份额Written
     */
    @TableField("WRITTENLINE")
    private BigDecimal writtenLine = new BigDecimal("0.000000");

    /**
     * 接受份额Offered
     */
    @TableField("OFFEREDLINE")
    private BigDecimal offeredLine = new BigDecimal("0.000000");

    /**
     * 手续费比例Written
     */
    @TableField("WRITTENCOMM")
    private BigDecimal writtenComm = new BigDecimal("0.000000");

    /**
     * 手续费比例Offered
     */
    @TableField("OFFEREDCOMM")
    private BigDecimal offeredComm = new BigDecimal("0.000000");

    /**
     * 协议号
     */
    @TableField("TREATYNO")
    private String treatyNo;

    /**
     * 起保日期
     */
    @TableField("STARTDATE")
    private LocalDate startDate;

    /**
     * 终保日期
     */
    @TableField("ENDDATE")
    private LocalDate endDate;

    /**
     * 再保险费率
     */
    @TableField("RATE")
    private BigDecimal rate = new BigDecimal("0.000000");

    /**
     * 分保币种
     */
    @TableField("CURRENCY")
    private String currency;

    /**
     *  (最新)分出保额
     */
    @TableField("AMOUNT")
    private BigDecimal amount = new BigDecimal("0.00");

    /**
     *  (最新)分出保费
     */
    @TableField("PREMIUM")
    private BigDecimal premium = new BigDecimal("0.00");

    /**
     * 变化保额 （批单）
     */
    @TableField("CHGAMOUNT")
    private BigDecimal chgAmount = new BigDecimal("0.00");

    /**
     * 变化保费 （批单）
     */
    @TableField("CHGPREMIUM")
    private BigDecimal chgPremium = new BigDecimal("0.00");

    /**
     * 免赔额
     */
    @TableField("DEDUCTIBLE")
    private BigDecimal deductible = new BigDecimal("0.00");

    /**
     * 免赔率
     */
    @TableField("DEDUCTIBLERATE")
    private BigDecimal deductibleRate = new BigDecimal("0.000000");

    /**
     * 特别约定
     */
    @TableField("SPECIALPROVISIONS")
    private String specialProvisions;

    /**
     * 备注
     */
    @TableField("REMARKS")
    private String reMarks;

    /**
     * 最迟付款天数
     */
    @TableField("DEADLINEDAYS")
    private BigDecimal deadlineDays = BigDecimal.ZERO;

    /**
     * 子协议序号
     */
    @TableField("SUBTREATYNO")
    private String subTreatyNo;


}
